﻿using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Pseudogenerator.Common.Generators;
using Pseudogenerator.Common.ViewModels.Core;

namespace Pseudogenerator.Common.ViewModels
{
    public class MainViewModel : ViewModelBase
    {
        public MainViewModel()
        {
        }

        public MainViewModel(ICommandManager CommandManager)
        {
            Pseudogenerator.Common.ViewModels.Core.CommandManagerHelper.CustomCommandManager = CommandManager;
        }

        private List<WorkSpaceViewModel> workspaces = null;
        public List<WorkSpaceViewModel> WorkSpaces
        {
            get
            {
                if (workspaces == null)
                {
                    workspaces = new List<WorkSpaceViewModel>()
                    {
                        new MixedCongruentialViewModel(),
                        new MultiplicativeCongruentialViewModel(),
                        new CuadraticCongruentialViewModel(),
                        new FibonacciViewModel(),
                        new GreenViewModel(),
                        new MitchellMooreViewModel(),
                        new MixedViewModel(),
                        new TwoSetsMixViewModel(),
                        new OneSetMixViewModel(),
                        new ImporterViewModel()
                    };
                }
                return workspaces;
            }
        }
    }
}
